package com.yang.mapper;

import com.yang.entity.dto.ConsultationRecordDTO;
import com.yang.entity.dto.ConsultationRecordDetailDTO;
import com.yang.entity.vo.ConsultationRecordVO;
import com.yang.entity.vo.ConsultationRecordDetailVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ConsultationRecordMapper {

    /**
     * 根据主键id查询就诊记录
     * @param id
     * @return
     */
    ConsultationRecordVO getConsultationRecordById(String id);

    /**
     * 条件查询病人就诊记录
     * @param consultationRecordDTO
     * @return
     */
    List<ConsultationRecordVO> getConsultationRecordList(ConsultationRecordDTO consultationRecordDTO);

    /**
     * 新增病人就诊记录
     * @param consultationDetailDTO
     * @return
     */
    int insert(ConsultationRecordDTO consultationDetailDTO);

    /**
     * 更新病人就诊记录
     * @param consultationDetailDTO
     * @return
     */
    int update(ConsultationRecordDTO consultationDetailDTO);

    /**
     * 批量新增病人就诊记录详情
     * @param consultationRecordDetailList
     * @return
     */
    int batchInsertDetail(@Param(value = "consultationRecordDetailList") List<ConsultationRecordDetailDTO> consultationRecordDetailList);

    /**
     * 批量更新病人就诊记录详情
     * @param consultationRecordDetailDTOList
     * @return
     */
    int batchUpdateDetail(@Param(value = "consultationRecordDetailDTOList") List<ConsultationRecordDetailDTO> consultationRecordDetailDTOList);

    /**
     * 查询病人就诊记录详情
     * @param consultationId 就诊记录id
     * @return
     */
    List<ConsultationRecordDetailVO> getConsultationRecordDetail(String consultationId);

}
